package mill;

import java.util.List;
import java.util.Observer;

import mill.components.MillComponent;
import mill.measurePoints.MeasurePoint;


public interface IMill {

	int getSerialNumber();
	int getHeight();
	MillType getType();
	int getWingSpan();
	
	int getPowerOutput();
	ProductionStatus getStatus();
	void setStatus(ProductionStatus status);

	boolean startMill();
	boolean pauseMill();
	boolean stopMill();
	
	List<MeasurePoint> getMeasurePoints();
	List<MillComponent> getComponents();
	
	boolean addMeasurePoint(MeasurePoint point);
	boolean removeMeasurePoint(MeasurePoint point);
	
	boolean addComponents(MillComponent component);
	boolean removeComponents(MillComponent component);
	
}
